package net.pinwy.namespace;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class Result extends Activity {

	ListView lvRegistros;
	SQLiteDatabase baseDatos;

	private static final String TAG = "bdpeliculas";
	private static final String NombreBd = "peliculas";
	private static final String TablaPeliculas = "capeliculas";

	// guardamos en un String toda la creación de la tabla
	private static final String crearTablaPeliculas = "create table if not exists "
			+ " capeliculas (codigo integer primary key autoincrement, "
			+ " nombre text not null, id text not null, vista boolean not null, rating float not null);";

	@Override
	public void onCreate(Bundle b) {
		super.onCreate(b);
		setContentView(R.layout.resultado);

		lvRegistros = (ListView) findViewById(R.id.lvRegistros);

		Bundle bundle = getIntent().getExtras();
		mostrarDatos();

		lvRegistros.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> a, View v, int position,
					long id) {
				Toast.makeText(v.getContext(),
						a.getItemAtPosition(position).toString(),
						Toast.LENGTH_SHORT).show();
			}
		});
	}

	public void mostrarDatos() {
		abrirBasedatos();
		String sDatos = recibir();
	}

	// Procedimiento para abrir la base de datos
	// si no existe se creará, también se creará la tabla contacto
	private void abrirBasedatos() {
		try {
			baseDatos = openOrCreateDatabase(NombreBd, MODE_WORLD_WRITEABLE,
					null);
			baseDatos.execSQL(crearTablaPeliculas);
		} catch (Exception e) {
			Log.i(TAG, "Error al abrir o crear la base de datos" + e);
		}
	}

	public String recibir() {
		String[] columnas = new String[] { "nombre", "id", "vista", "rating" };

		String versiones[] = { "1.0", "1.1", "1.5 cupcake", "1.6 donut",
				"2.1 eclair", "2.2 froyo", "2.3 gingerbread", "3.x honeycomb",
				"4.0 icecream sandwitch" };

		String sRegistros[] = { "", "", "", "", "", "", "" };
		Cursor c = baseDatos.query(TablaPeliculas, columnas, null, null, null,
				null, "id");
		String resulado = "";

		int iFila = c.getColumnIndex("id");
		int iNombre = c.getColumnIndex("nombre");
		int iVista = c.getColumnIndex("vista");
		int iRating = c.getColumnIndex("rating");
		int i = 0;

		for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
			resulado = c.getString(iFila) + " " + c.getString(iNombre) + " "
					+ c.getString(iVista) + " " + c.getFloat(iRating);
			sRegistros[i] = resulado;
			i++;
		}

		ArrayAdapter adaptador = new ArrayAdapter(this,
				android.R.layout.simple_list_item_1, sRegistros);
		lvRegistros.setAdapter(adaptador);

		return resulado;
	}

	public void finalizar(View view) {
		finish();
	}

}
